iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
0

經過這幾個禮拜跟tensorflow的相處,通常用tf建立的模型都很複雜,若要對模型進行觀察並找到錯誤讓他最佳化,我覺得都有一定的難度,而TensorBoard
是一個專門用來呈現TF模型與資料的視覺工具,也支援了好幾種的資料呈現方式,讓使用者更容易掌握複雜的資料。

Tensorboard的架構如下圖所示,其實就是利用產生的logs,使用tf.summary的API將您所定義的tag下的資料放到分類的Dashboard下(Ex: scalars, image 等等)。接下來在用tf.summary的方法來呈現資料,或者將資料寫到目標folder,最後呈現在Tensorboard上。
https://ithelp.ithome.com.tw/upload/images/20200927/20130246zFKrbZb9iq.png

def create_model():
  return tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(512, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10, activation='softmax')
  ])


def train_model():
  model = create_model()
  model.compile(optimizer='adam',
                loss='categorical_crossentropy',
                metrics=['accuracy'])
  logdir = os.path.join("logs", datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
  tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)
  model.fit(x=x_train, 
            y=y_train, 
            epochs=5, 
            validation_data=(x_test, y_test), 
            callbacks=[tensorboard_callback])

train_model()

%tensorboard --logdir logs

Scalars

https://ithelp.ithome.com.tw/upload/images/20200927/20130246rsRiuwYB5X.png

Graph

https://ithelp.ithome.com.tw/upload/images/20200927/20130246IflVYpEI3z.png
Tensorboard還有很多功能,例如:dashboard、tag這都比較進階


上一篇
Underfitted&Overfitted
下一篇
CNN介紹(上)
系列文
Tensorflow2.030
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言